---
title: "base de datos de CDC"
output:
  word_document: 
    toc: yes
    fig_height: 5
    fig_caption: yes
  html_document: default
  pdf_document: default
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(
	echo = TRUE,
	message = FALSE,
	warning = FALSE
)
```
```{r include=FALSE}
library(renv)
renv::activate()
renv::restore()
```


```{r cargar paquetes, message=FALSE, warning=FALSE, include=FALSE}
library(dplyr)
library(haven)
library(gtsummary)
library(tidyr)
library(tidyverse)
library(expss)
library(ggplot2)
library(FactoMineR)
library(factoextra)
library(flextable)

```

```{r cargar base de datos, include=FALSE}

vih_vhb <- read_csv2("C:/Users/AMD RYZEN/Desktop/Analisis estadistico de VHB y VIH/bases de datos (solo lectura)/cdc_vih_vhb.csv")

```

```{r formato de variables, include=FALSE}

vih_vhb$fecha_not <- as.Date(
  vih_vhb$fecha_not, 
  format = "%Y/%m/%d %H:%M:%S")
vih_vhb$fecha_not <- format(
  vih_vhb$fecha_not, 
  "%Y")

vih_vhb$fecha_de_nac <- as.Date(
  vih_vhb$fecha_de_nac, 
  format = "%Y/%m/%d %H:%M:%S")
vih_vhb$fecha_de_nac <- format(
  vih_vhb$fecha_de_nac, 
  "%Y")

vih_vhb$fecha_dx_sida <- as.Date(
  vih_vhb$fecha_dx_sida, 
  format = "%Y/%m/%d %H:%M:%S")
vih_vhb$fecha_dx_sida <- format(
  vih_vhb$fecha_dx_sida, 
  "%Y")

vih_vhb$fecha_inicio_tar <- as.Date(
  vih_vhb$fecha_inicio_tar, 
  format = "%Y/%m/%d %H:%M:%S")
vih_vhb$fecha_inicio_tar <- format(
  vih_vhb$fecha_inicio_tar, 
  "%Y")

vih_vhb$fecha_hpb <- as.Date(
  vih_vhb$fecha_hpb, 
  format = "%Y/%m/%d %H:%M:%S")
vih_vhb$fecha_hpb <- format(
  vih_vhb$fecha_hpb, 
  "%Y")

vih_vhb$fecha_ini <- as.Date(
  vih_vhb$fecha_ini, 
  format = "%d/%m/%Y")
vih_vhb$fecha_ini <- format(
  vih_vhb$fecha_ini, 
  "%Y")

vih_vhb$edad <- as.integer(vih_vhb$edad)

colnames(vih_vhb)[which(names(vih_vhb) == "ano_diagnostico")] <- "año_dx_vih"
colnames(vih_vhb)[which(names(vih_vhb) == "ano")] <- "año_dx_vhb"
colnames(vih_vhb)[which(names(vih_vhb) == "sexo...5")] <- "sexo"

vih_vhb$residencia_dx = if_else(
  vih_vhb$año_dx_vhb > vih_vhb$año_dx_vih,
  vih_vhb$departamentp_residencia, vih_vhb$departamento_residencia)

vih_vhb$atencion_dx = if_else(
  vih_vhb$año_dx_vhb > vih_vhb$año_dx_vih,
  vih_vhb$depart_atencion, vih_vhb$departamento_atencion)

vih_vhb$cobertura_dx = if_else(
  vih_vhb$residencia_dx != vih_vhb$atencion_dx,
  1, 0)

vih_vhb$departamento_residencia <- vih_vhb$departamento_residencia %>% fct_collapse(
  Costa = c("LIMA", "AREQUIPA", "TACNA", "LAMBAYEQUE", "CALLAO", "ANCASH", "LA LIBERTAD", "PIURA", "TUMBES", "MOQUEGUA", "ICA"), 
  Sierra = c("AYACUCHO", "JUNIN", "CUSCO", "APURIMAC", "SAN MARTIN", "CAJAMARCA", "HUANCAVELICA", "HUANUCO", "PUNO"),
  Selva = c("AMAZONAS", "PASCO", "MADRE DE DIOS", "LORETO", "UCAYALI"))

vih_vhb$departamento_atencion <- vih_vhb$departamento_atencion %>% fct_collapse(
  Costa = c("LIMA", "AREQUIPA", "TACNA", "LAMBAYEQUE", "CALLAO", "ANCASH", "LA LIBERTAD", "PIURA", "TUMBES", "MOQUEGUA", "ICA"), 
  Sierra = c("AYACUCHO", "JUNIN", "CUSCO", "APURIMAC", "SAN MARTIN", "CAJAMARCA", "HUANCAVELICA", "HUANUCO", "PUNO"),
  Selva = c("AMAZONAS", "PASCO", "MADRE DE DIOS", "LORETO", "UCAYALI"))

vih_vhb$departamentp_residencia <- vih_vhb$departamentp_residencia %>% fct_collapse(
  Costa = c("LIMA", "AREQUIPA", "TACNA", "LAMBAYEQUE", "CALLAO", "ANCASH", "LA LIBERTAD", "PIURA", "TUMBES", "MOQUEGUA", "ICA"), 
  Sierra = c("AYACUCHO", "JUNIN", "CUSCO", "APURIMAC", "SAN MARTIN", "CAJAMARCA", "HUANCAVELICA", "HUANUCO", "PUNO"),
  Selva = c("AMAZONAS", "PASCO", "MADRE DE DIOS", "LORETO", "UCAYALI"))

vih_vhb$depart_atencion <- vih_vhb$depart_atencion %>% fct_collapse(
  Costa = c("LIMA", "AREQUIPA", "TACNA", "LAMBAYEQUE", "CALLAO", "ANCASH", "LA LIBERTAD", "PIURA", "TUMBES", "MOQUEGUA", "ICA"), 
  Sierra = c("AYACUCHO", "JUNIN", "CUSCO", "APURIMAC", "SAN MARTIN", "CAJAMARCA", "HUANCAVELICA", "HUANUCO", "PUNO"),
  Selva = c("AMAZONAS", "PASCO", "MADRE DE DIOS", "LORETO", "UCAYALI"))


vih_vhb$año_dx_vhb <- as.character(vih_vhb$año_dx_vhb)
vih_vhb <- vih_vhb %>% dplyr::mutate(año_dx_vhb = 
          coalesce(año_dx_vhb, fecha_hpb))

vih_vhb <- vih_vhb %>% 
  dplyr::mutate(
    vih_status =
      "vih")
vih_vhb <- vih_vhb %>% 
  dplyr::mutate(
    vhb_status =
      "vhb")

vih_vhb <- vih_vhb %>% 
  unite("dx_vih", 
        año_dx_vih, 
        vih_status, 
        remove = FALSE)

vih_vhb <- vih_vhb %>% 
  unite("dx_vhb", 
        año_dx_vhb, 
        vhb_status, 
        remove = FALSE)

vih_vhb <- vih_vhb %>% 
  dplyr::mutate(
    inf_entrada =
      pmin(dx_vih, dx_vhb))

vih_vhb <- vih_vhb %>% 
  dplyr::mutate(
    año_dx_vih_vhb =
      pmax(año_dx_vhb, año_dx_vih))

vih_vhb <- vih_vhb %>% 
  separate(inf_entrada, 
           c("y_entrada", "inf_entrada"), 
           sep = "_", 
           remove = TRUE)

vih_vhb$inf_entrada[vih_vhb$inf_entrada=="NA"] <- NA

vih_vhb$departamento_residencia <- as.factor(vih_vhb$departamento_residencia)
vih_vhb$departamento_atencion <- as.factor(vih_vhb$departamento_atencion)
vih_vhb$departamentp_residencia <- as.factor(vih_vhb$departamentp_residencia)
vih_vhb$depart_atencion <- as.factor(vih_vhb$depart_atencion) 

vih_vhb$dep_re_dx<-if_else(
  vih_vhb$año_dx_vhb > vih_vhb$año_dx_vih,
  vih_vhb$departamentp_residencia, vih_vhb$departamento_residencia)

vih_vhb <- vih_vhb %>% dplyr::mutate(nueva = 
             case_when(vih_vhb$año_dx_vih == vih_vhb$año_dx_vhb ~ "Al mismo tiempo",
                       vih_vhb$año_dx_vih > vih_vhb$año_dx_vhb ~ "Primero VHB",
                       vih_vhb$año_dx_vhb > vih_vhb$año_dx_vih ~ "Primero VIH"))

vih_vhb$dep_re_dx<- as.factor(vih_vhb$dep_re_dx)

vih_vhb$dep_at_dx<-if_else(
  vih_vhb$año_dx_vhb > vih_vhb$año_dx_vih,
  vih_vhb$depart_atencion, vih_vhb$departamento_atencion)

vih_vhb$dep_at_dx<- as.factor(vih_vhb$dep_at_dx)


vih_vhb <- vih_vhb %>% dplyr::mutate(estadio_sida = 
          case_when(is.na(estadio_sida) ~ 0, 
                    estadio_sida == 1 ~ 1))
vih_vhb <- vih_vhb %>% dplyr::mutate(targa = 
          case_when(is.na(targa) ~ 0, 
                    targa == 1 ~ 1))
vih_vhb <- vih_vhb %>% 
  separate(via_de_transmision, 
           c("via_probable", "orientacion"), 
           sep = "_", 
           remove = TRUE)
vih_vhb$año_dx_vih_vhb <- as.integer(vih_vhb$año_dx_vih_vhb)
vih_vhb$fecha_de_nac <- as.integer(vih_vhb$fecha_de_nac)

vih_vhb$edad_dx <- (vih_vhb$año_dx_vih_vhb - vih_vhb$fecha_de_nac)

vih_vhb$año_dx_vih_vhb <- as.integer(vih_vhb$año_dx_vih_vhb)
vih_vhb$y_entrada <- as.integer(vih_vhb$y_entrada)

vih_vhb$tiempo_dx <- (vih_vhb$año_dx_vih_vhb - vih_vhb$y_entrada)

vih_vhb$tiempo_dx <- as.integer(vih_vhb$tiempo_dx)

colnames(vih_vhb)[which(names(vih_vhb) == "edad")] <- "edad_vhb"

vih_vhb$edad_vih <- (vih_vhb$año_dx_vih - vih_vhb$fecha_de_nac)

vih_vhb$fecha_ini<- as.integer(vih_vhb$fecha_ini)

vih_vhb$año_dx_vhb<- as.integer(vih_vhb$año_dx_vhb)

vih_vhb$tiempo_dx_vhb <- (vih_vhb$año_dx_vhb - vih_vhb$fecha_ini)

vih_vhb <- vih_vhb %>% dplyr::mutate(
  edad_factor = case_when(
    edad_dx >= 18 & edad_dx < 30 ~ "18 a 29 años",
    edad_dx >= 30 & edad_dx < 40 ~ "30 a 39 años",
    edad_dx >= 40 & edad_dx < 50 ~ "40 a 49 años",
    edad_dx >= 50 & edad_dx < 60 ~ "50 a 59 años",
    edad_dx >= 60 & edad_dx < 70 ~ "60 a 69 años",
    edad_dx >= 70 & edad_dx < 80 ~ "70 a 79 años",
    edad_dx >= 80 ~ "80 años a más"))

vih_vhb <- vih_vhb %>% dplyr::mutate(
  tiempo_dx_factor = case_when(
    tiempo_dx == 0 ~ "0",
    tiempo_dx == 1 ~ "1",
    tiempo_dx >= 2 ~ "2 o más", 
    TRUE ~ NA_character_))

vih_vhb <- vih_vhb %>% dplyr::mutate(
  año_dx_vih_vhb_4 = case_when(
    año_dx_vih_vhb == 2017 ~ "2017",
    año_dx_vih_vhb == 2018 ~ "2018",
    año_dx_vih_vhb == 2019 ~ "2019",
    año_dx_vih_vhb == 2020 ~ "2020",
    TRUE ~ NA_character_))

vih_vhb <- vih_vhb %>% dplyr::mutate(
  sexo = case_when(
    sexo == "M" ~ "Masculino",
    sexo == "F" ~ "Femenino"))

vih_vhb <- vih_vhb %>% dplyr::mutate(
  inf_entrada = case_when(
    inf_entrada == "vih" ~ "VIH",
    inf_entrada == "vhb" ~ "VHB"))

vih_vhb <- vih_vhb %>% dplyr::mutate(
  via_probable = case_when(
    via_probable == "SEXUAL" ~ "Sexual",
    via_probable == "DESCONOCIDA" ~ "Desconocida"))

vih_vhb$año_dx_vih<- as.integer(vih_vhb$año_dx_vih)

vih_vhb$fecha_inicio_tar<- as.integer(vih_vhb$fecha_inicio_tar)

vih_vhb$año_dx_vih_vhb<- as.integer(vih_vhb$año_dx_vih_vhb)

vih_vhb$tiempo_arv <- (vih_vhb$fecha_inicio_tar - vih_vhb$año_dx_vih)
vih_vhb$tiempo_vih_vhb_arv <- (vih_vhb$año_dx_vih_vhb - vih_vhb$fecha_inicio_tar)

vih_vhb <- apply_labels(vih_vhb, 
      sexo = "Sexo",
      año_dx_vih = "Año de diagnóstico de infección por VIH",
      año_dx_vhb = "Año de diagnóstico de la infección por VHB",
      estadio_sida = "SIDA",
      fecha_dx_sida = "Año de diagnóstico de SIDA", 
      targa = "Uso de antirretrovirales", 
      fecha_inicio_tar = "Año de inicio de antirretrovirales", 
      departamento_residencia = "Región natural de residencia", 
      departamento_atencion = "Región natural de atención", 
      año_dx_vhb = "Año de diagnóstico de infección por VHB",
      año_dx_vih_vhb = "Año de diagnóstico",
      inf_entrada = "Primera infección diagnosticada",
      via_probable = "Vía de transmisión de VIH", 
      dep_at_dx = "Región de atención", 
      dep_re_dx = "Región de residencia",
      cobertura_dx = "Participantes que se atendieron en un departamento distinto al departamento de residencia",
      tiempo_dx_factor = "Tiempo hasta el diagnóstico", 
      tiempo_arv = "Tiempo desde el diagnóstico de VIH hasta el inicio de ARV", 
      tiempo_vih_vhb_arv = "Tiempo desde el diagnóstico de VIH y VHB hasta el inicio de ARV",
      nueva = "Orden de los diagnósticos")

vih_vhb_incluidos<- vih_vhb[ -c(2,10,18,38,71), ]


write_csv(vih_vhb_incluidos, file = "C:/Users/AMD RYZEN/Desktop/Analisis estadistico de VHB y VIH/bases de datos generadas/base_cdc2.csv")


```
# Tablas
```{r lenguaje, include=FALSE}
theme_gtsummary_language(
  language = c("es"),
  decimal.mark = ",",
  big.mark = NULL,
  iqr.sep = NULL,
  ci.sep = NULL,
  set_theme = TRUE
)
```
La base de datos de CDC contenía 111 personas, se excluyeron cuatro (4) menores de 18 años y uno (1) perteneciente al 2022.

## Tabla 1

```{r tabla_descriptiva, echo=FALSE, message=FALSE, warning=FALSE}

tabla_descriptiva <- vih_vhb_incluidos %>%
  tbl_summary(by = sexo,
  include = c(edad_dx, sexo, año_dx_vih_vhb, tiempo_dx_factor, dep_re_dx, via_probable, nueva, targa),
  statistic = list(all_categorical() ~ "{n} ({p})"),
  digits = list(all_continuous() ~ c(1,1),
                all_categorical() ~ c(0,1)),
  percent = "column",
  missing = "ifany",
  label = list(edad_dx ~ "Edad", tiempo_dx_factor ~ "Tiempo hasta el diagnóstico (años)")) %>%
  add_p(pvalue_fun = function(x) style_pvalue(x, digits = 3)) %>%
  separate_p_footnotes() %>%
  add_overall() %>%
  modify_header(label = "**Variables**") %>%
  modify_caption("Características de los participantes con la infección por VIH-VHB según sexo") %>%
  modify_footnote(label ~ "Datos ausentes: para edad, 1 para femenino y 1 para masculino; para año de diagnóstico 1 en masculino; para tiempo hasta el diagnóstico 1 en masculino; para región de residencia, 3 en masculino")
as_flex_table(tabla_descriptiva)

```

## Tabla 3

```{r tabla_descriptiva_por_año, echo=FALSE, message=FALSE, warning=FALSE}
tabla_descriptiva_año <- vih_vhb_incluidos %>% 
  tbl_summary(by = año_dx_vih_vhb_4,
  include = c(edad_dx, sexo, tiempo_dx_factor, dep_re_dx, cobertura_dx, targa, estadio_sida),
  missing = "ifany",
  label = list(edad_dx ~ "Edad", tiempo_dx_factor ~ "Tiempo hasta el diagnóstico (años)"),
  statistic = list(all_categorical() ~ "{n} ({p})"),
  digits = list(all_continuous() ~ c(1,1),
                all_categorical() ~ c(0,1)),
  missing_text = "Datos ausentes") %>%
  modify_header(label = "**Variables**") %>%
  modify_caption("Características de los participantes con la infección por VIH-VHB según el año de diagnóstico") %>%
  add_p(pvalue_fun = function(x) style_pvalue(x, digits = 3)) %>%
  separate_p_footnotes() %>%
  modify_footnote(label ~ "En este análisis se excluyó el año 2021")
as_flex_table(tabla_descriptiva_año)

```
## Tabla 2

```{r tabla_descriptiva_por_arv, echo=FALSE, message=FALSE, warning=FALSE}
tabla_descriptiva_arv <- vih_vhb_incluidos %>% 
  tbl_summary(by = targa,
  include = c(edad_factor, edad_vih, edad_vhb, tiempo_dx_factor, dep_re_dx, cobertura_dx, estadio_sida, targa, via_probable, tiempo_arv ),
  missing = "ifany",
  label = list(edad_factor ~ "Edad", 
               tiempo_dx_factor ~ "Tiempo hasta el diagnóstico (años)", 
               edad_vih ~ "Edad al diagnóstico de VIH", 
               edad_vhb ~ "Edad al diagnóstico de VHB"),
  statistic = list(all_categorical() ~ "{n} ({p})"),
  digits = list(all_continuous() ~ c(1,1),
                all_categorical() ~ c(0,1)),
  missing_text = "Datos ausentes",
  percent = "column") %>%
  modify_header(label = "**Variables**", 
                stat_1 = "**No usa antirretrovirales, N = 59**",
                stat_2 = "**Usa antirretrovirales, N = 47**") %>%
  modify_caption("Características de los participantes con la infección por VIH-VHB según el uso de antirretrovirales") %>% 
  add_p(pvalue_fun = function(x) style_pvalue(x, digits = 3)) %>% 
  separate_p_footnotes() %>%
  add_overall()
as_flex_table(tabla_descriptiva_arv)

```
## Tabla 4

```{r tabla_descriptiva_por_sexo, echo=FALSE, message=FALSE, warning=FALSE}
tabla_descriptiva_sexo <- vih_vhb_incluidos %>% 
  tbl_summary(by = nueva,
  include = c(edad_dx, sexo, año_dx_vih_vhb, tiempo_dx_factor, dep_re_dx, estadio_sida, targa, via_probable, fecha_dx_sida, nueva),
  missing = "ifany",
  label = list(edad_dx ~ "Edad", tiempo_dx_factor ~ "Tiempo hasta el diagnóstico (años)"),
  statistic = list(all_categorical() ~ "{n} ({p})"),
  digits = list(all_continuous() ~ c(1,1),
                all_categorical() ~ c(0,1)),
  missing_text = "Datos ausentes",
  percent = "column") %>%
  modify_header(label = "**Variables**") %>%
  modify_caption("Características de los participantes con la infección por VIH-VHB según el orden de diagnóstico") %>%
  add_p(pvalue_fun = function(x) style_pvalue(x, digits = 3)) %>% 
  separate_p_footnotes() %>%
  add_overall()
as_flex_table(tabla_descriptiva_sexo)

```

# Análisis de correspondencias multiples

```{r base_de_datos_para_ACM, include=FALSE}
base_de_datos_ACM <- vih_vhb_incluidos %>% 
  select(sexo, via_probable, 
         año_dx_vih_vhb, edad_factor, dep_re_dx, estadio_sida, targa) %>% na.omit

base_de_datos_ACM$dep_re_dx <- as.factor(base_de_datos_ACM$dep_re_dx)
base_de_datos_ACM$edad_factor <- as.factor(base_de_datos_ACM$edad_factor)
base_de_datos_ACM$via_probable <- as.factor(base_de_datos_ACM$via_probable)
base_de_datos_ACM$sexo <- as.factor(base_de_datos_ACM$sexo)
base_de_datos_ACM$año_dx_vih_vhb  <- as.factor(base_de_datos_ACM$año_dx_vih_vhb)
base_de_datos_ACM$estadio_sida  <- as.factor(base_de_datos_ACM$estadio_sida)
base_de_datos_ACM$targa <- as.factor(base_de_datos_ACM$targa)

```

```{r ACM, fig.height=6, fig.width=8, include=FALSE}
ACM_cdc <- MCA(base_de_datos_ACM, ncp = 3, graph = FALSE)

```

## Gráfico 1.1 Contribución a la varianza 

```{r varianzas_de_ACM, fig.height=6, fig.width=8, include=FALSE}
ACM_varianza <- fviz_screeplot(ACM_cdc, 
               addlabels = TRUE)
ACM_varianza
```

## Gráfico 1.2 Categorías y sujetos 

```{r categorias_y_sujetos_de_ACM, include=FALSE}
ACM_individuos <- fviz_mca_biplot(ACM_cdc, 
               repel = TRUE)
ACM_individuos
```

## Gráfico 1.3 Categorías

```{r Categorias_de_ACM, fig.height=5, fig.width=6, include=FALSE}
ACM_categorias <- fviz_mca_var(ACM_cdc,
                               col.var = "black", 
                               repel = TRUE,
                               shape.var = 16,
                               ggtheme = theme_light()) + 
  scale_y_continuous(limits = c(-1,NA)) + 
  scale_x_continuous(breaks = c(-2,-1,0,1,2,3), limits = c(-2,NA)) +   
  theme(panel.grid = element_blank(), 
        axis.line.x.bottom = element_line(color = 'black'),
    axis.line.y.left   = element_line(color = 'black'),
    axis.line.y.right  = element_blank(),
    axis.text.y.right  = element_blank(),
    axis.ticks.y.right = element_blank(),
    panel.border       = element_blank()) +
   ggtitle(element_blank())
ACM_categorias

```

```{r editable, include=FALSE}
library(rvg)
library(officer)

editable_1 <- dml(ggobj = ACM_categorias, 
                  fonts = list(serif = "Times New Roman"), res=600)
ppt_editable <- read_pptx() %>% 
  add_slide() %>% 
  ph_with(editable_1, 
          location = ph_location_type(type = "body"))
print(ppt_editable, target = "C:/Users/AMD RYZEN/Desktop/Analisis estadistico de VHB y VIH/extras (tablas y figuras)/gráfico_ACM1.pptx")

```


```{r diagrama_de_venn, include=FALSE}

library(ggVennDiagram)
library(ggvenn)

x <- list(A=1:29139, B=29029:38159)
venn <- Venn(x)
data <- process_data(venn)
names(x) <- c("Infección por VIH/SIDA","Infección por VHB")

fig3 <- ggvenn(
x,
columns = NULL,
show_elements = FALSE,
show_percentage = TRUE,
digits = 1,
fill_color = c("#F7989C","#9FA5CD"),
fill_alpha = 0.8,
stroke_color = "black",
stroke_alpha = 1,
stroke_size = 0.5,
stroke_linetype = "solid",
set_name_color = "black",
set_name_size = 4,
text_color = "black",
text_size = 4,
label_sep = ","
)
fig3


```

```{r editable_1, include=FALSE}
library(rvg)
library(officer)


editable_2 <- dml(ggobj = fig3, 
                  fonts = list(serif = "Times New Roman"), res=600)

ppt_editable1 <- read_pptx() %>% 
  add_slide() %>% 
  ph_with(editable_2, 
          location = ph_location_type(type = "body"))
print(ppt_editable1, target = "C:/Users/AMD RYZEN/Desktop/Analisis estadistico de VHB y VIH/extras (tablas y figuras)/gráfico_venn.pptx")

```

